package com.weixing.mall.provider.model.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.weixing.mall.core.support.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 代理商模块-代理商返利表
 * </p>
 *
 * @author Small
 * @since 2020-03-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("amc_agent_rebate")
public class AgentRebate extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 代理商id
     */
    private Long agentId;

    /**
     * 代理商名称
     */
    private String agentName;

    /**
     * 订单编号
     */
    private Long orderId;

    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单金额
     */
    private BigDecimal orderPrice;
    /**
     * 订单所属代理id
     */
    private Long orderAgentId;
    /**
     * 订单所属代理姓名
     */
    private String  orderAgentName;

    /**
     * 订单审核时间
     */
    private Date orderAuditTime;

    /**
     * 订单下单时间
     */
    private Date orderGmtTime;

    /**
     * 订单可提现时间
     */
    private Date orderWithdrawTime;

    /**
     * 订单所属客服id
     */
    private Long kefuId;

    /**
     * 客服姓名
     */
    private String kefu;

    /**
     * 返利金额
     */
    private BigDecimal rebateAmount;

    /**
     * 返利途径 返利类型(正价商品，秒杀活动)
     */
    private Integer rebateFrom;
    /**
     * 1 个人返还款  2  团队返还款
     */
    private Integer rebateType;

    /**
     * 乐观锁
     */
    @Version
    private Integer revision;


    /**
     * 创建时间
     */
    private Date createdTime;


    /**
     * 更新时间
     */
    private Date updatedTime;

    /**
     * 是否有效
     */
    private Integer isEnable;

    /**
     * 是否已付款
     */
    private Integer isPay;

    /**
     * 备注
     */
    private String remark;


    private  Long  operationId;


    private  Date  operationTime;
    //操作状态，0代表未审核，1代表审核通过，2代表审核拒绝，-1代表未提现
    private  Integer  operationStatus;

    private  String opertaionName;

    private  Long outBillId;


}
